Applications with a graphical user interface provide users with functionality based on where in the application the user is working, commonly called context-sensitive functionality. In some cases, a command may be issued in an identical fashion but have completely different implementations. For example, a copy command implemented in a word processing application acts differently than a copy command implemented in a graphics application. However, the user invokes the copy command in the same way. In cases where an application has been extended by a third party, new implementations of existing commands may be implemented. When the user or system initiates an activity requiring a particular operation to be performed, there is now more than one viable implementation of that same method for handling the operation. It is now up to the application to select the most appropriate implementation for the active context. Current systems handle this situation by searching linearly through a list of user interface elements for the first one that provides the implementation of the command.